/**
 * 
 */
package cn.gov.msa.service;

import java.io.File;
import java.io.InputStream;
import java.util.List;
import java.util.Map;

import org.activiti.engine.repository.Deployment;
import org.activiti.engine.repository.ProcessDefinition;
import org.activiti.engine.task.Task;
import org.springframework.stereotype.Service;

/**
 * @author Administrator
 *
 */
@Service
public interface WorkFlowService {

	public List<Deployment> getWorkFlowDeployList() throws Exception;
	
	public List<ProcessDefinition> getWorkDefinitionListByDeploymentId(String DeploymentId) throws Exception;
	
	public String deployWithZip(File file, String name) throws Exception;
	
	public boolean deleteDeploy(String deploymentId)throws Exception;
	
    public InputStream showFlowImage(String deploymentId, String pathname) throws Exception;


    public String startFlow(String processDefinitionKey, String businessKey, String userID, List<String> nextUserIDs, boolean isApply) throws Exception;
    
    public List<Task> findTask(String userID) throws Exception;
    
    public boolean completeTask(String taskId, List<String> userIDs, boolean isLast) throws Exception;
    

	public String getDeploymentIdByTaskId(String taskId) throws Exception;

	public Map<String, Object> findCoordingByTask(String taskId) throws Exception;
}
